package org.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.entity.LoanOverdueStatistics;
import org.springframework.web.multipart.MultipartFile;

import jakarta.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 贷款逾期统计服务接口
 * 
 * @author Generated
 */
public interface LoanOverdueStatisticsService extends IService<LoanOverdueStatistics> {
    
    /**
     * 导入Excel数据
     * 
     * @param file Excel文件
     * @return 导入结果信息
     */
    String importData(MultipartFile file);
    
    /**
     * 导出Excel数据
     * 
     * @param response HTTP响应
     * @param loanType 贷款类型
     * @param dimension 维度
     */
    void exportData(HttpServletResponse response, String loanType, String dimension);
    
    /**
     * 导出Excel模板
     * 
     * @param response HTTP响应
     */
    void exportTemplate(HttpServletResponse response);
    
    /**
     * 根据条件查询数据
     * 
     * @param loanType 贷款类型
     * @param dimension 维度
     * @return 查询结果列表
     */
    List<LoanOverdueStatistics> queryByCondition(String loanType, String dimension);
    
    /**
     * 批量保存数据
     * 
     * @param dataList 数据列表
     */
    void batchSave(List<LoanOverdueStatistics> dataList);
    
    /**
     * 获取所有数据
     * 
     * @return 所有数据列表
     */
    List<LoanOverdueStatistics> getAllData();
    
    /**
     * 根据贷款类型查询数据
     * 
     * @param loanType 贷款类型
     * @return 查询结果列表
     */
    List<LoanOverdueStatistics> getByLoanType(String loanType);
    
    /**
     * 根据维度查询数据
     * 
     * @param dimension 维度
     * @return 查询结果列表
     */
    List<LoanOverdueStatistics> getByDimension(String dimension);
}
